const { src, dest } = require('gulp');
const { globs, since } = require('../common');
/**
 * sass 转css
 * 安装：npm install --save-dev gulp-sass
 * 如果没有安装sass,此时会报错, 根据报错提示,往require('gulp-sass') 后边追加(require('sass'))
 */
 const gulpSass = require('gulp-sass')(require('sass'));

 /**
  * css 前缀自动补全, 兼容性处理
  * 安装：npm install --save-dev gulp-autoprefixer
  */
 const gulpAutoprefixer = require('gulp-autoprefixer');
 
 /**
  * css 压缩
  * 安装: npm install --save-dev gulp-cssmin
  */
 const gulpCssmin = require('gulp-cssmin');
 
 /**
  * 文件重命名
  * 安装：npm install --save-dev gulp-rename
  */
 const rename = require('gulp-rename');

 /**
  * 文件映射，解决处理后代码无法debug 的问题
  * 安装：npm install --save-dev gulp-sourcemaps
  */
 const sourcemaps = require('gulp-sourcemaps');

 /**
  * npm 依赖打包
  * 安装： npm install --save-dev gulp-mp-npm
  */
 const mpNpm = require('gulp-mp-npm');

/**
 * 编译scss文件
 */
const scss = () => {
    return src(globs.scss, { since: since(scss) })
    .pipe(sourcemaps.init())
    .pipe(gulpSass())
    .pipe(gulpAutoprefixer())
    .pipe(gulpCssmin())
    .pipe(mpNpm())
    .pipe(sourcemaps.write())
    .pipe(rename({ extname: '.wxss' }))
    .pipe(dest('dist/'))
};

module.exports = scss;